package me.windleafy.gity.usage;

import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.AdaptScreenUtils;
import com.blankj.utilcode.util.ApiUtils;
import com.blankj.utilcode.util.AppUtils;
import com.blankj.utilcode.util.ArrayUtils;
import com.blankj.utilcode.util.BarUtils;
import com.blankj.utilcode.util.BrightnessUtils;
import com.blankj.utilcode.util.BusUtils;
import com.blankj.utilcode.util.CacheDiskStaticUtils;
import com.blankj.utilcode.util.CacheDiskUtils;
import com.blankj.utilcode.util.CacheDoubleStaticUtils;
import com.blankj.utilcode.util.CacheDoubleUtils;
import com.blankj.utilcode.util.CacheMemoryStaticUtils;
import com.blankj.utilcode.util.CacheMemoryUtils;
import com.blankj.utilcode.util.CleanUtils;
import com.blankj.utilcode.util.ClickUtils;
import com.blankj.utilcode.util.CloneUtils;
import com.blankj.utilcode.util.CollectionUtils;
import com.blankj.utilcode.util.ColorUtils;
import com.blankj.utilcode.util.ConvertUtils;
import com.blankj.utilcode.util.CrashUtils;
import com.blankj.utilcode.util.DeviceUtils;
import com.blankj.utilcode.util.EncodeUtils;
import com.blankj.utilcode.util.EncryptUtils;
import com.blankj.utilcode.util.FileIOUtils;
import com.blankj.utilcode.util.FileUtils;
import com.blankj.utilcode.util.FlashlightUtils;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.ImageUtils;
import com.blankj.utilcode.util.IntentUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.LanguageUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.MapUtils;
import com.blankj.utilcode.util.MetaDataUtils;
import com.blankj.utilcode.util.NetworkUtils;
import com.blankj.utilcode.util.ObjectUtils;
import com.blankj.utilcode.util.PathUtils;
import com.blankj.utilcode.util.PermissionUtils;
import com.blankj.utilcode.util.PhoneUtils;
import com.blankj.utilcode.util.ProcessUtils;
import com.blankj.utilcode.util.ReflectUtils;
import com.blankj.utilcode.util.RegexUtils;
import com.blankj.utilcode.util.ResourceUtils;
import com.blankj.utilcode.util.RomUtils;
import com.blankj.utilcode.util.SDCardUtils;
import com.blankj.utilcode.util.SPStaticUtils;
import com.blankj.utilcode.util.SPUtils;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.ServiceUtils;
import com.blankj.utilcode.util.ShellUtils;
import com.blankj.utilcode.util.SizeUtils;
import com.blankj.utilcode.util.SnackbarUtils;
import com.blankj.utilcode.util.SpanUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ThreadUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.blankj.utilcode.util.UriUtils;
import com.blankj.utilcode.util.VibrateUtils;
import com.blankj.utilcode.util.ViewUtils;
import com.blankj.utilcode.util.ZipUtils;

/**
 * 接口说明
 * https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CN.md
 * https://github.com/Blankj/AndroidUtilCode/blob/master/lib/subutil/README-CN.md
 */
public interface AndroidUtilCodeUsage {

    /**
     * /**
     * {@link ActivityUtils}
     * getActivityByView              : 根据视图获取 Activity
     * getActivityByContext           : 根据上下文获取 Activity
     * isActivityExists               : 判断 Activity 是否存在
     * startActivity                  : 启动 Activity
     * startActivityForResult         : 启动 Activity 为返回结果
     * startActivities                : 启动多个 Activity
     * startHomeActivity              : 回到桌面
     * getActivityList                : 获取 Activity 栈链表
     * getLauncherActivity            : 获取启动项 Activity
     * getMainActivities              : 获取主的 Activity 们
     * getTopActivity                 : 获取栈顶 Activity
     * isActivityAlive                : 判断 Activity 是否存活
     * isActivityExistsInStack        : 判断 Activity 是否存在栈中
     * finishActivity                 : 结束 Activity
     * finishToActivity               : 结束到指定 Activity
     * finishOtherActivities          : 结束所有其他类型的 Activity
     * finishAllActivities            : 结束所有 Activity
     * finishAllActivitiesExceptNewest: 结束除最新之外的所有 Activity
     * {@link  AdaptScreenUtils}
     * adaptWidth : 适配宽度
     * adaptHeight: 适配高度
     * closeAdapt : 关闭适配（pt 等同于 dp）
     * pt2Px      : pt 转 px
     * px2Pt      : px 转 pt
     * {@link  ApiUtils}
     * getApi: 获取 api 的实例
     * {@link  AppUtils}
     * registerAppStatusChangedListener  : 注册 App 前后台切换监听器
     * unregisterAppStatusChangedListener: 注销 App 前后台切换监听器
     * installApp                        : 安装 App（支持 8.0）
     * uninstallApp                      : 卸载 App
     * isAppInstalled                    : 判断 App 是否安装
     * isAppRoot                         : 判断 App 是否有 root 权限
     * isAppDebug                        : 判断 App 是否是 Debug 版本
     * isAppSystem                       : 判断 App 是否是系统应用
     * isAppForeground                   : 判断 App 是否处于前台
     * isAppRunning                      : 判断 App 是否运行
     * launchApp                         : 打开 App
     * relaunchApp                       : 重启 App
     * launchAppDetailsSettings          : 打开 App 具体设置
     * exitApp                           : 关闭应用
     * getAppIcon                        : 获取 App 图标
     * getAppPackageName                 : 获取 App 包名
     * getAppName                        : 获取 App 名称
     * getAppPath                        : 获取 App 路径
     * getAppVersionName                 : 获取 App 版本号
     * getAppVersionCode                 : 获取 App 版本码
     * getAppSignature                   : 获取 App 签名
     * getAppSignatureSHA1               : 获取应用签名的的 SHA1 值
     * getAppSignatureSHA256             : 获取应用签名的的 SHA256 值
     * getAppSignatureMD5                : 获取应用签名的的 MD5 值
     * getAppInfo                        : 获取 App 信息
     * getAppsInfo                       : 获取所有已安装 App 信息
     * getApkInfo                        : 获取 Apk 信息
     * {@link ArrayUtils}
     * newArray          : 新建数组
     * newLongArray      : 新建长整型数组
     * newIntArray       : 新建整型数组
     * newShortArray     : 新建 short 数组
     * newCharArray      : 新建字符数组
     * newByteArray      : 新建字节数组
     * newDoubleArray    : 新建双精度数组
     * newFloatArray     : 新建浮点数数组
     * newBooleanArray   : 新建 boolean 数组
     * isEmpty           : 判断数组是否为空
     * getLength         : 获取数组长度
     * isSameLength      : 判断两数组长度是否相等
     * get               : 获取数组的索引值
     * set               : 设置数组的索引值
     * equals            : 判断数组是否相等
     * reverse           : 逆序数组
     * copy              : 拷贝数组
     * subArray          : 截取数组
     * add               : 增加数组
     * remove            : 移除指定的索引
     * removeElement     : 移除指定的元素
     * indexOf           : 查找第一个元素的索引
     * lastIndexOf       : 查找最后一个元素的索引
     * contains          : 判断是否包含该元素
     * toPrimitive       : 装箱数组转基本类型数组
     * toObject          : 基本类型数组转装箱数组
     * asList            : 转为链表
     * asUnmodifiableList: 转为不可变链表
     * asArrayList       : 转为数组链表
     * asLinkedList      : 转为双向链表
     * sort              : 排序
     * forAllDo          : 对所有元素做操作
     * toString          : 数组转为字符串
     * {@link  BarUtils}
     * getStatusBarHeight                   : 获取状态栏高度（px）
     * setStatusBarVisibility               : 设置状态栏是否可见
     * isStatusBarVisible                   : 判断状态栏是否可见
     * setStatusBarLightMode                : 设置状态栏是否为浅色模式
     * addMarginTopEqualStatusBarHeight     : 为 view 增加 MarginTop 为状态栏高度
     * subtractMarginTopEqualStatusBarHeight: 为 view 减少 MarginTop 为状态栏高度
     * setStatusBarColor                    : 设置状态栏颜色
     * setStatusBarColor4Drawer             : 为 DrawerLayout 设置状态栏颜色
     * getActionBarHeight                   : 获取 ActionBar 高度
     * setNotificationBarVisibility         : 设置通知栏是否可见
     * getNavBarHeight                      : 获取导航栏高度
     * setNavBarVisibility                  : 设置导航栏是否可见
     * isNavBarVisible                      : 判断导航栏是否可见
     * setNavBarColor                       : 设置导航栏颜色
     * getNavBarColor                       : 获取导航栏颜色
     * isSupportNavBar                      : 判断是否支持导航栏
     * {@link  BrightnessUtils}
     * isAutoBrightnessEnabled : 判断是否开启自动调节亮度
     * setAutoBrightnessEnabled: 设置是否开启自动调节亮度
     * getBrightness           : 获取屏幕亮度
     * setBrightness           : 设置屏幕亮度
     * setWindowBrightness     : 设置窗口亮度
     * getWindowBrightness     : 获取窗口亮度
     * {@link  BusUtils}
     * register    : 注册
     * unregister  : 注销
     * post        : 发送
     * postSticky  : 发送粘性
     * removeSticky: 移除粘性
     * toString_   : 查看插入的信息
     * {@link  CacheDiskStaticUtils}
     * setDefaultCacheDiskUtils: 设置默认磁盘缓存实例
     * put                     : 缓存中写入数据
     * getBytes                : 缓存中读取字节数组
     * getString               : 缓存中读取 String
     * getJSONObject           : 缓存中读取 JSONObject
     * getJSONArray            : 缓存中读取 JSONArray
     * getBitmap               : 缓存中读取 Bitmap
     * getDrawable             : 缓存中读取 Drawable
     * getParcelable           : 缓存中读取 Parcelable
     * getSerializable         : 缓存中读取 Serializable
     * getCacheSize            : 获取缓存大小
     * getCacheCount           : 获取缓存个数
     * remove                  : 根据键值移除缓存
     * clear                   : 清除所有缓存
     * {@link  CacheDiskUtils}
     * getInstance             : 获取缓存实例
     * Instance.put            : 缓存中写入数据
     * Instance.getBytes       : 缓存中读取字节数组
     * Instance.getString      : 缓存中读取 String
     * Instance.getJSONObject  : 缓存中读取 JSONObject
     * Instance.getJSONArray   : 缓存中读取 JSONArray
     * Instance.getBitmap      : 缓存中读取 Bitmap
     * Instance.getDrawable    : 缓存中读取 Drawable
     * Instance.getParcelable  : 缓存中读取 Parcelable
     * Instance.getSerializable: 缓存中读取 Serializable
     * Instance.getCacheSize   : 获取缓存大小
     * Instance.getCacheCount  : 获取缓存个数
     * Instance.remove         : 根据键值移除缓存
     * Instance.clear          : 清除所有缓存
     * {@link CacheDoubleStaticUtils}
     * setDefaultCacheDoubleUtils: 设置默认二级缓存实例
     * put                       : 缓存中写入数据
     * getBytes                  : 缓存中读取字节数组
     * getString                 : 缓存中读取 String
     * getJSONObject             : 缓存中读取 JSONObject
     * getJSONArray              : 缓存中读取 JSONArray
     * getBitmap                 : 缓存中读取 Bitmap
     * getDrawable               : 缓存中读取 Drawable
     * getParcelable             : 缓存中读取 Parcelable
     * getSerializable           : 缓存中读取 Serializable
     * getCacheDiskSize          : 获取磁盘缓存大小
     * getCacheDiskCount         : 获取磁盘缓存个数
     * getCacheMemoryCount       : 获取内存缓存个数
     * remove                    : 根据键值移除缓存
     * clear                     : 清除所有缓存
     * {@link  CacheDoubleUtils}
     * getInstance                 : 获取缓存实例
     * Instance.put                : 缓存中写入数据
     * Instance.getBytes           : 缓存中读取字节数组
     * Instance.getString          : 缓存中读取 String
     * Instance.getJSONObject      : 缓存中读取 JSONObject
     * Instance.getJSONArray       : 缓存中读取 JSONArray
     * Instance.getBitmap          : 缓存中读取 Bitmap
     * Instance.getDrawable        : 缓存中读取 Drawable
     * Instance.getParcelable      : 缓存中读取 Parcelable
     * Instance.getSerializable    : 缓存中读取 Serializable
     * Instance.getCacheDiskSize   : 获取磁盘缓存大小
     * Instance.getCacheDiskCount  : 获取磁盘缓存个数
     * Instance.getCacheMemoryCount: 获取内存缓存个数
     * Instance.remove             : 根据键值移除缓存
     * Instance.clear              : 清除所有缓存
     * {@link  CacheMemoryStaticUtils}
     * setDefaultCacheMemoryUtils: 设置默认内存缓存实例
     * put                       : 缓存中写入数据
     * get                       : 缓存中读取字节数组
     * getCacheCount             : 获取缓存个数
     * remove                    : 根据键值移除缓存
     * clear                     : 清除所有缓存
     * {@link  CacheMemoryUtils}
     * getInstance           : 获取缓存实例
     * Instance.put          : 缓存中写入数据
     * Instance.get          : 缓存中读取字节数组
     * Instance.getCacheCount: 获取缓存个数
     * Instance.remove       : 根据键值移除缓存
     * Instance.clear        : 清除所有缓存
     * {@link  CleanUtils}
     * cleanInternalCache   : 清除内部缓存
     * cleanInternalFiles   : 清除内部文件
     * cleanInternalDbs     : 清除内部数据库
     * cleanInternalDbByName: 根据名称清除数据库
     * cleanInternalSp      : 清除内部 SP
     * cleanExternalCache   : 清除外部缓存
     * cleanCustomDir       : 清除自定义目录下的文件
     * {@link  ClickUtils}
     * applyScale                          : 应用点击缩放
     * applySingleDebouncing               : 对单视图应用防抖点击
     * applyGlobalDebouncing               : 对所有设置 GlobalDebouncing 的视图应用防抖点击
     * ClickUtils#OnDebouncingClickListener: 防抖点击监听器
     * ClickUtils#OnMultiClickListener     : 连续点击监听器
     * {@link  CloneUtils}
     * closeIO       : 关闭 IO
     * closeIOQuietly: 安静关闭 IO
     * {@link  CollectionUtils}
     * newUnmodifiableList[NotNull]: 新建只读[非空]链表
     * newArrayList[NotNull]       : 新建数组型[非空]链表
     * newLinkedList[NotNull]      : 新建指针型[非空]链表
     * newHashSet[NotNull]         : 新建哈希[非空]集合
     * newTreeSet[NotNull]         : 新建有序[非空]集合
     * newSynchronizedCollection   : 新建同步集合
     * newUnmodifiableCollection   : 新建只读集合
     * union                       : 获取并集
     * intersection                : 获取交集
     * disjunction                 : 获取并集减交集
     * subtract                    : 获取差集
     * containsAny                 : 判断是否有交集
     * getCardinalityMap           : 获取集合中所有元素的基数
     * isSubCollection             : 是否子集
     * isProperSubCollection       : 是否真子集
     * isEqualCollection           : 判断集合是否相等
     * cardinality                 : 获取集合中元素的基数
     * find                        : 查找第一个符合条件的元素
     * forAllDo                    : 对所有元素做操作
     * filter                      : 删除原集合中不符合条件的元素
     * select                      : 查找出所有符合条件的元素并返回新集合
     * selectRejected              : 查找出所有不符合条件的元素并返回新集合
     * transform                   : 对原集合进行转变
     * collect                     : 转变为新的集合
     * countMatches                : 查找到匹配的元素个数
     * exists                      : 判断集合是否存在符合条件的元素
     * addIgnoreNull               : 新增元素如果不为空
     * addAll                      : 新增多个元素
     * get                         : 获取集合元素
     * size                        : 获取集合个数
     * sizeIsEmpty                 : 判断个数是否为零
     * isEmpty                     : 判断是否为空
     * isNotEmpty                  : 判断是否非空
     * retainAll                   : 保留元素
     * removeAll                   : 删除下来
     * toString                    : 集合转为字符串
     * {@link  ColorUtils}
     * getColor         : 获取颜色
     * setAlphaComponent: 设置颜色透明度值
     * setRedComponent  : 设置颜色红色值
     * setGreenComponent: 设置颜色绿色值
     * setBlueComponent : 设置颜色蓝色值
     * string2Int       : 颜色串转颜色值
     * int2RgbString    : 颜色值转 RGB 串
     * int2ArgbString   : 颜色值转 ARGB 串
     * getRandomColor   : 获取随机色
     * {@link  ConvertUtils}
     * bytes2Bits, bits2Bytes                  : bytes 与 bits 互转
     * bytes2Chars, chars2Bytes                : bytes 与 chars 互转
     * bytes2HexString, hexString2Bytes        : bytes 与 hexString 互转
     * memorySize2Byte, byte2MemorySize        : 以 unit 为单位的内存大小与字节数互转
     * byte2FitMemorySize                      : 字节数转合适内存大小
     * timeSpan2Millis, millis2TimeSpan        : 以 unit 为单位的时间长度与毫秒时间戳互转
     * millis2FitTimeSpan                      : 毫秒时间戳转合适时间长度
     * input2OutputStream, output2InputStream  : inputStream 与 outputStream 互转
     * inputStream2Bytes, bytes2InputStream    : inputStream 与 bytes 互转
     * outputStream2Bytes, bytes2OutputStream  : outputStream 与 bytes 互转
     * inputStream2String, string2InputStream  : inputStream 与 string 按编码互转
     * outputStream2String, string2OutputStream: outputStream 与 string 按编码互转
     * bitmap2Bytes, bytes2Bitmap              : bitmap 与 bytes 互转
     * drawable2Bitmap, bitmap2Drawable        : drawable 与 bitmap 互转
     * drawable2Bytes, bytes2Drawable          : drawable 与 bytes 互转
     * view2Bitmap                             : view 转 Bitmap
     * dp2px, px2dp                            : dp 与 px 互转
     * sp2px, px2sp                            : sp 与 px 互转
     * {@link  CrashUtils}
     * init: 初始化
     * {@link DeviceUtils}
     * isDeviceRooted   : 判断设备是否 rooted
     * isAdbEnabled     : 判断设备 ADB 是否可用
     * getSDKVersionName: 获取设备系统版本号
     * getSDKVersionCode: 获取设备系统版本码
     * getAndroidID     : 获取设备 AndroidID
     * getMacAddress    : 获取设备 MAC 地址
     * getManufacturer  : 获取设备厂商
     * getModel         : 获取设备型号
     * getABIs          : 获取设备 ABIs
     * isTablet         : 判断是否是平板
     * isEmulator       : 判断是否是模拟器
     * getUniqueDeviceId: 获取唯一设备 ID
     * isSameDevice     : 判断是否同一设备
     * {@link  FlashlightUtils}
     * isFlashlightEnable : 判断设备是否支持闪光灯
     * isFlashlightOn     : 判断闪光灯是否打开
     * setFlashlightStatus: 设置闪光灯状态
     * destroy            : 销毁
     * {@link  EncodeUtils}
     * urlEncode          : URL 编码
     * urlDecode          : URL 解码
     * base64Encode       : Base64 编码
     * base64Encode2String: Base64 编码
     * base64Decode       : Base64 解码
     * htmlEncode         : Html 编码
     * htmlDecode         : Html 解码
     * {@link  EncryptUtils}
     * encryptMD2, encryptMD2ToString                        : MD2 加密
     * encryptMD5, encryptMD5ToString                        : MD5 加密
     * encryptMD5File, encryptMD5File2String                 : MD5 加密文件
     * encryptSHA1, encryptSHA1ToString                      : SHA1 加密
     * encryptSHA224, encryptSHA224ToString                  : SHA224 加密
     * encryptSHA256, encryptSHA256ToString                  : SHA256 加密
     * encryptSHA384, encryptSHA384ToString                  : SHA384 加密
     * encryptSHA512, encryptSHA512ToString                  : SHA512 加密
     * encryptHmacMD5, encryptHmacMD5ToString                : HmacMD5 加密
     * encryptHmacSHA1, encryptHmacSHA1ToString              : HmacSHA1 加密
     * encryptHmacSHA224, encryptHmacSHA224ToString          : HmacSHA224 加密
     * encryptHmacSHA256, encryptHmacSHA256ToString          : HmacSHA256 加密
     * encryptHmacSHA384, encryptHmacSHA384ToString          : HmacSHA384 加密
     * encryptHmacSHA512, encryptHmacSHA512ToString          : HmacSHA512 加密
     * encryptDES, encryptDES2HexString, encryptDES2Base64   : DES 加密
     * decryptDES, decryptHexStringDES, decryptBase64DES     : DES 解密
     * encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES 加密
     * decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES 解密
     * encryptAES, encryptAES2HexString, encryptAES2Base64   : AES 加密
     * decryptAES, decryptHexStringAES, decryptBase64AES     : AES 解密
     * encryptRSA, encryptRSA2HexString, encryptRSA2Base64   : RSA 加密
     * decryptRSA, decryptHexStringRSA, decryptBase64RSA     : RSA 解密
     * {@link  FileIOUtils}
     * writeFileFromIS            : 将输入流写入文件
     * writeFileFromBytesByStream : 将字节数组写入文件
     * writeFileFromBytesByChannel: 将字节数组写入文件
     * writeFileFromBytesByMap    : 将字节数组写入文件
     * writeFileFromString        : 将字符串写入文件
     * readFile2List              : 读取文件到字符串链表中
     * readFile2String            : 读取文件到字符串中
     * readFile2BytesByStream     : 读取文件到字节数组中
     * readFile2BytesByChannel    : 读取文件到字节数组中
     * readFile2BytesByMap        : 读取文件到字节数组中
     * setBufferSize              : 设置缓冲区尺寸
     * {@link  FileUtils}
     * getFileByPath             : 根据文件路径获取文件
     * isFileExists              : 判断文件是否存在
     * rename                    : 重命名文件
     * isDir                     : 判断是否是目录
     * isFile                    : 判断是否是文件
     * createOrExistsDir         : 判断目录是否存在，不存在则判断是否创建成功
     * createOrExistsFile        : 判断文件是否存在，不存在则判断是否创建成功
     * createFileByDeleteOldFile : 判断文件是否存在，存在则在创建之前删除
     * copyDir                   : 复制目录
     * copyFile                  : 复制文件
     * moveDir                   : 移动目录
     * moveFile                  : 移动文件
     * delete                    : 删除文件或目录
     * deleteDir                 : 删除目录
     * deleteFile                : 删除文件
     * deleteAllInDir            : 删除目录下所有东西
     * deleteFilesInDir          : 删除目录下所有文件
     * deleteFilesInDirWithFilter: 删除目录下所有过滤的文件
     * listFilesInDir            : 获取目录下所有文件
     * listFilesInDirWithFilter  : 获取目录下所有过滤的文件
     * getFileLastModified       : 获取文件最后修改的毫秒时间戳
     * getFileCharsetSimple      : 简单获取文件编码格式
     * getFileLines              : 获取文件行数
     * getDirSize                : 获取目录大小
     * getFileSize               : 获取文件大小
     * getDirLength              : 获取目录长度
     * getFileLength             : 获取文件长度
     * getFileMD5                : 获取文件的 MD5 校验码
     * getFileMD5ToString        : 获取文件的 MD5 校验码
     * getDirName                : 根据全路径获取最长目录
     * getFileName               : 根据全路径获取文件名
     * getFileNameNoExtension    : 根据全路径获取文件名不带拓展名
     * getFileExtension          : 根据全路径获取文件拓展名
     * notifySystemToScan        : 通知系统扫描文件
     * {@link FragmentUtils}
     * add                   : 新增 fragment
     * show                  : 显示 fragment
     * hide                  : 隐藏 fragment
     * showHide              : 先显示后隐藏 fragment
     * replace               : 替换 fragment
     * pop                   : 出栈 fragment
     * popTo                 : 出栈到指定 fragment
     * popAll                : 出栈所有 fragment
     * remove                : 移除 fragment
     * removeTo              : 移除到指定 fragment
     * removeAll             : 移除所有 fragment
     * getTop                : 获取顶部 fragment
     * getTopInStack         : 获取栈中顶部 fragment
     * getTopShow            : 获取顶部可见 fragment
     * getTopShowInStack     : 获取栈中顶部可见 fragment
     * getFragments          : 获取同级别的 fragment
     * getFragmentsInStack   : 获取同级别栈中的 fragment
     * getAllFragments       : 获取所有 fragment
     * getAllFragmentsInStack: 获取栈中所有 fragment
     * findFragment          : 查找 fragment
     * dispatchBackPress     : 处理 fragment 回退键
     * setBackgroundColor    : 设置背景色
     * setBackgroundResource : 设置背景资源
     * setBackground         : 设置背景
     * {@link GsonUtils}
     * getGson     : 获取 Gson 对象
     * toJson      : 对象转 Json 串
     * fromJson    : Json 串转对象
     * getListType : 获取链表类型
     * getSetType  : 获取集合类型
     * getMapType  : 获取字典类型
     * getArrayType: 获取数组类型
     * getType     : 获取类型
     * {@link ImageUtils}
     * bitmap2Bytes, bytes2Bitmap      : bitmap 与 bytes 互转
     * drawable2Bitmap, bitmap2Drawable: drawable 与 bitmap 互转
     * drawable2Bytes, bytes2Drawable  : drawable 与 bytes 互转
     * view2Bitmap                     : view 转 bitmap
     * getBitmap                       : 获取 bitmap
     * scale                           : 缩放图片
     * clip                            : 裁剪图片
     * skew                            : 倾斜图片
     * rotate                          : 旋转图片
     * getRotateDegree                 : 获取图片旋转角度
     * toRound                         : 转为圆形图片
     * toRoundCorner                   : 转为圆角图片
     * addCornerBorder                 : 添加圆角边框
     * addCircleBorder                 : 添加圆形边框
     * addReflection                   : 添加倒影
     * addTextWatermark                : 添加文字水印
     * addImageWatermark               : 添加图片水印
     * toAlpha                         : 转为 alpha 位图
     * toGray                          : 转为灰度图片
     * fastBlur                        : 快速模糊
     * renderScriptBlur                : renderScript 模糊图片
     * stackBlur                       : stack 模糊图片
     * save                            : 保存图片
     * isImage                         : 根据文件名判断文件是否为图片
     * getImageType                    : 获取图片类型
     * compressByScale                 : 按缩放压缩
     * compressByQuality               : 按质量压缩
     * compressBySampleSize            : 按采样大小压缩
     * getSize                         : 获取图片尺寸
     * {@link  IntentUtils}
     * isIntentAvailable                : 判断意图是否可用
     * getInstallAppIntent              : 获取安装 App（支持 6.0）的意图
     * getUninstallAppIntent            : 获取卸载 App 的意图
     * getLaunchAppIntent               : 获取打开 App 的意图
     * getLaunchAppDetailsSettingsIntent: 获取 App 具体设置的意图
     * getShareTextIntent               : 获取分享文本的意图
     * getShareImageIntent              : 获取分享图片的意图
     * getComponentIntent               : 获取其他应用组件的意图
     * getShutdownIntent                : 获取关机的意图
     * getCaptureIntent                 : 获取拍照的意图
     * {@link KeyboardUtils}
     * showSoftInput                     : 显示软键盘
     * hideSoftInput                     : 隐藏软键盘
     * toggleSoftInput                   : 切换键盘显示与否状态
     * isSoftInputVisible                : 判断软键盘是否可见
     * registerSoftInputChangedListener  : 注册软键盘改变监听器
     * unregisterSoftInputChangedListener: 注销软键盘改变监听器
     * fixAndroidBug5497                 : 修复安卓 5497 BUG
     * fixSoftInputLeaks                 : 修复软键盘内存泄漏
     * clickBlankArea2HideSoftInput      : 点击屏幕空白区域隐藏软键盘
     * {@link LanguageUtils}
     * applySystemLanguage: 应用系统语言
     * applyLanguage      : 应用语言
     * {@link  LogUtils}
     * getConfig                : 获取 log 配置
     * Config.setLogSwitch      : 设置 log 总开关
     * Config.setConsoleSwitch  : 设置 log 控制台开关
     * Config.setGlobalTag      : 设置 log 全局 tag
     * Config.setLogHeadSwitch  : 设置 log 头部信息开关
     * Config.setLog2FileSwitch : 设置 log 文件开关
     * Config.setDir            : 设置 log 文件存储目录
     * Config.setFilePrefix     : 设置 log 文件前缀
     * Config.setBorderSwitch   : 设置 log 边框开关
     * Config.setSingleTagSwitch: 设置 log 单一 tag 开关（为美化 AS 3.1 的 Logcat）
     * Config.setConsoleFilter  : 设置 log 控制台过滤器
     * Config.setFileFilter     : 设置 log 文件过滤器
     * Config.setStackDeep      : 设置 log 栈深度
     * Config.setStackOffset    : 设置 log 栈偏移
     * Config.setSaveDays       : 设置 log 可保留天数
     * Config.addFormatter      : 新增 log 格式化器
     * log                      : 自定义 tag 的 type 日志
     * v                        : tag 为类名的 Verbose 日志
     * vTag                     : 自定义 tag 的 Verbose 日志
     * d                        : tag 为类名的 Debug 日志
     * dTag                     : 自定义 tag 的 Debug 日志
     * i                        : tag 为类名的 Info 日志
     * iTag                     : 自定义 tag 的 Info 日志
     * w                        : tag 为类名的 Warn 日志
     * wTag                     : 自定义 tag 的 Warn 日志
     * e                        : tag 为类名的 Error 日志
     * eTag                     : 自定义 tag 的 Error 日志
     * a                        : tag 为类名的 Assert 日志
     * aTag                     : 自定义 tag 的 Assert 日志
     * file                     : log 到文件
     * json                     : log 字符串之 json
     * xml                      : log 字符串之 xml
     * {@link MapUtils}
     * newUnmodifiableMap: 创建 UnmodifiableMap
     * newHashMap        : 创建 HashMap
     * newLinkedHashMap  : 创建 LinkedHashMap
     * newTreeMap        : 创建 TreeMap
     * newHashTable      : 创建 HashTable
     * isEmpty           : 判断 Map 是否为空
     * isNotEmpty        : 判断 Map 是否非空
     * size              : 获取 Map 元素个数
     * forAllDo          : 对所有元素做操作
     * transform         : 对 Map 做转变
     * toString          : Map 转为字符串
     * {@link  MetaDataUtils}
     * getMetaDataInApp     : 获取 application 的 meta-data 值
     * getMetaDataInActivity: 获取 activity 的 meta-data 值
     * getMetaDataInService : 获取 service 的 meta-data 值
     * getMetaDataInReceiver: 获取 receiver 的 meta-data 值
     * {@link NetworkUtils}
     * openWirelessSettings                  : 打开网络设置界面
     * isConnected                           : 判断网络是否连接
     * isAvailable[Async]                    : 判断网络是否可用
     * isAvailableByPing[Async]              : 用 ping 判断网络是否可用
     * isAvailableByDns[Async]               : 用 DNS 判断网络是否可用
     * getMobileDataEnabled                  : 判断移动数据是否打开
     * isMobileData                          : 判断网络是否是移动数据
     * is4G                                  : 判断网络是否是 4G
     * getWifiEnabled                        : 判断 wifi 是否打开
     * setWifiEnabled                        : 打开或关闭 wifi
     * isWifiConnected                       : 判断 wifi 是否连接状态
     * isWifiAvailable[Async]                : 判断 wifi 数据是否可用
     * getNetworkOperatorName                : 获取移动网络运营商名称
     * getNetworkType                        : 获取当前网络类型
     * getIPAddress[Async]                   : 获取 IP 地址
     * getDomainAddress[Async]               : 获取域名 IP 地址
     * getIpAddressByWifi                    : 根据 WiFi 获取网络 IP 地址
     * getGatewayByWifi                      : 根据 WiFi 获取网关 IP 地址
     * getNetMaskByWifi                      : 根据 WiFi 获取子网掩码 IP 地址
     * getServerAddressByWifi                : 根据 WiFi 获取服务端 IP 地址
     * registerNetworkStatusChangedListener  : 注册网络状态改变监听器
     * unregisterNetworkStatusChangedListener: 注销网络状态改变监听器
     * {@link ObjectUtils}
     * isEmpty       : 判断对象是否为空
     * isNotEmpty    : 判断对象是否非空
     * equals        : 判断对象是否相等
     * requireNonNull: 检查对象非空
     * getOrDefault  : 获取非空或默认对象
     * hashCode      : 获取对象哈希值
     * {@link PathUtils}
     * getRootPath                    : 获取根路径
     * getDataPath                    : 获取数据路径
     * getDownloadCachePath           : 获取下载缓存路径
     * getInternalAppDataPath         : 获取内存应用数据路径
     * getInternalAppCodeCacheDir     : 获取内存应用代码缓存路径
     * getInternalAppCachePath        : 获取内存应用缓存路径
     * getInternalAppDbsPath          : 获取内存应用数据库路径
     * getInternalAppDbPath           : 获取内存应用数据库路径
     * getInternalAppFilesPath        : 获取内存应用文件路径
     * getInternalAppSpPath           : 获取内存应用 SP 路径
     * getInternalAppNoBackupFilesPath: 获取内存应用未备份文件路径
     * getExternalStoragePath         : 获取外存路径
     * getExternalMusicPath           : 获取外存音乐路径
     * getExternalPodcastsPath        : 获取外存播客路径
     * getExternalRingtonesPath       : 获取外存铃声路径
     * getExternalAlarmsPath          : 获取外存闹铃路径
     * getExternalNotificationsPath   : 获取外存通知路径
     * getExternalPicturesPath        : 获取外存图片路径
     * getExternalMoviesPath          : 获取外存影片路径
     * getExternalDownloadsPath       : 获取外存下载路径
     * getExternalDcimPath            : 获取外存数码相机图片路径
     * getExternalDocumentsPath       : 获取外存文档路径
     * getExternalAppDataPath         : 获取外存应用数据路径
     * getExternalAppCachePath        : 获取外存应用缓存路径
     * getExternalAppFilesPath        : 获取外存应用文件路径
     * getExternalAppMusicPath        : 获取外存应用音乐路径
     * getExternalAppPodcastsPath     : 获取外存应用播客路径
     * getExternalAppRingtonesPath    : 获取外存应用铃声路径
     * getExternalAppAlarmsPath       : 获取外存应用闹铃路径
     * getExternalAppNotificationsPath: 获取外存应用通知路径
     * getExternalAppPicturesPath     : 获取外存应用图片路径
     * getExternalAppMoviesPath       : 获取外存应用影片路径
     * getExternalAppDownloadPath     : 获取外存应用下载路径
     * getExternalAppDcimPath         : 获取外存应用数码相机图片路径
     * getExternalAppDocumentsPath    : 获取外存应用文档路径
     * getExternalAppObbPath          : 获取外存应用 OBB 路径
     * {@link  PermissionUtils}
     * getPermissions          : 获取应用权限
     * isGranted               : 判断权限是否被授予
     * isGrantedWriteSettings  : 判断修改系统权限是否被授予
     * requestWriteSettings    : 申请修改系统权限
     * isGrantedDrawOverlays   : 判断悬浮窗权限是否被授予
     * requestDrawOverlays     : 申请悬浮窗权限
     * launchAppDetailsSettings: 打开应用具体设置
     * permission              : 设置请求权限
     * rationale               : 设置拒绝权限后再次请求的回调接口
     * callback                : 设置回调
     * theme                   : 设置主题
     * request                 : 开始请求
     * {@link  PhoneUtils}
     * isPhone            : 判断设备是否是手机
     * getDeviceId        : 获取设备码
     * getSerial          : 获取序列号
     * getIMEI            : 获取 IMEI 码
     * getMEID            : 获取 MEID 码
     * getIMSI            : 获取 IMSI 码
     * getPhoneType       : 获取移动终端类型
     * isSimCardReady     : 判断 sim 卡是否准备好
     * getSimOperatorName : 获取 Sim 卡运营商名称
     * getSimOperatorByMnc: 获取 Sim 卡运营商名称
     * dial               : 跳至拨号界面
     * call               : 拨打 phoneNumber
     * sendSms            : 跳至发送短信界面
     * {@link ProcessUtils}
     * getForegroundProcessName  : 获取前台线程包名
     * killAllBackgroundProcesses: 杀死所有的后台服务进程
     * killBackgroundProcesses   : 杀死后台服务进程
     * isMainProcess             : 判断是否运行在主进程
     * getCurrentProcessName     : 获取当前进程名称
     * {@link  ReflectUtils}
     * reflect    : 设置要反射的类
     * newInstance: 实例化反射对象
     * field      : 设置反射的字段
     * method     : 设置反射的方法
     * get        : 获取反射想要获取的
     * {@link  RegexUtils}
     * isMobileSimple : 简单验证手机号
     * isMobileExact  : 精确验证手机号
     * isTel          : 验证电话号码
     * isIDCard15     : 验证身份证号码 15 位
     * isIDCard18     : 简单验证身份证号码 18 位
     * isIDCard18Exact: 精确验证身份证号码 18 位
     * isEmail        : 验证邮箱
     * isURL          : 验证 URL
     * isZh           : 验证汉字
     * isUsername     : 验证用户名
     * isDate         : 验证 yyyy-MM-dd 格式的日期校验，已考虑平闰年
     * isIP           : 验证 IP 地址
     * isMatch        : 判断是否匹配正则
     * getMatches     : 获取正则匹配的部分
     * getSplits      : 获取正则匹配分组
     * getReplaceFirst: 替换正则匹配的第一部分
     * getReplaceAll  : 替换所有正则匹配的部分
     * {@link  ResourceUtils}
     * copyFileFromAssets: 从 assets 中拷贝文件
     * readAssets2String : 从 assets 中读取字符串
     * readAssets2List   : 从 assets 中按行读取字符串
     * copyFileFromRaw   : 从 raw 中拷贝文件
     * readRaw2String    : 从 raw 中读取字符串
     * readRaw2List      : 从 raw 中按行读取字符串
     * {@link RomUtils}
     * isHuawei   : 是否华为
     * isVivo     : 是否 VIVO
     * isXiaomi   : 是否小米
     * isOppo     : 是否 OPPO
     * isLeeco    : 是否乐视
     * is360      : 是否 360
     * isZte      : 是否中兴
     * isOneplus  : 是否一加
     * isNubia    : 是否努比亚
     * isCoolpad  : 是否酷派
     * isLg       : 是否 LG
     * isGoogle   : 是否谷歌
     * isSamsung  : 是否三星
     * isMeizu    : 是否魅族
     * isLenovo   : 是否联想
     * isSmartisan: 是否锤子
     * isHtc      : 是否 HTC
     * isSony     : 是否索尼
     * isGionee   : 是否金立
     * isMotorola : 是否摩托罗拉
     * getRomInfo : 获取 ROM 信息
     * {@link ScreenUtils}
     * getScreenWidth     : 获取屏幕的宽度（单位：px）
     * getScreenHeight    : 获取屏幕的高度（单位：px）
     * getAppScreenWidth  : 获取应用屏幕的宽度（单位：px）
     * getAppScreenHeight : 获取应用屏幕的高度（单位：px）
     * getScreenDensity   : 获取屏幕密度
     * getScreenDensityDpi: 获取屏幕密度 DPI
     * setFullScreen      : 设置屏幕为全屏
     * setNonFullScreen   : 设置屏幕为非全屏
     * toggleFullScreen   : 切换屏幕为全屏与否状态
     * isFullScreen       : 判断屏幕是否为全屏
     * setLandscape       : 设置屏幕为横屏
     * setPortrait        : 设置屏幕为竖屏
     * isLandscape        : 判断是否横屏
     * isPortrait         : 判断是否竖屏
     * getScreenRotation  : 获取屏幕旋转角度
     * screenShot         : 截屏
     * isScreenLock       : 判断是否锁屏
     * setSleepDuration   : 设置进入休眠时长
     * getSleepDuration   : 获取进入休眠时长
     * {@link  SDCardUtils}
     * isSDCardEnableByEnvironment: 根据 Environment 判断 SD 卡是否可用
     * getSDCardPathByEnvironment : 根据 Environment 获取 SD 卡路径
     * getSDCardInfo              : 获取 SD 卡信息
     * {@link ServiceUtils}
     * getAllRunningServices: 获取所有运行的服务
     * startService         : 启动服务
     * stopService          : 停止服务
     * bindService          : 绑定服务
     * unbindService        : 解绑服务
     * isServiceRunning     : 判断服务是否运行
     * {@link ShellUtils}
     * execCmd[Async]: 执行命令
     * {@link  SizeUtils}
     * dp2px, px2dp     : dp 与 px 转换
     * sp2px, px2sp     : sp 与 px 转换
     * applyDimension   : 各种单位转换
     * forceGetViewSize : 在 onCreate 中获取视图的尺寸
     * measureView      : 测量视图尺寸
     * getMeasuredWidth : 获取测量视图宽度
     * getMeasuredHeight: 获取测量视图高度
     * {@link SnackbarUtils}
     * with           : 设置 snackbar 依赖 view
     * setMessage     : 设置消息
     * setMessageColor: 设置消息颜色
     * setBgColor     : 设置背景色
     * setBgResource  : 设置背景资源
     * setDuration    : 设置显示时长
     * setAction      : 设置行为
     * setBottomMargin: 设置底边距
     * show           : 显示 snackbar
     * showSuccess    : 显示预设成功的 snackbar
     * showWarning    : 显示预设警告的 snackbar
     * showError      : 显示预设错误的 snackbar
     * dismiss        : 消失 snackbar
     * getView        : 获取 snackbar 视图
     * addView        : 添加 snackbar 视图
     * {@link  SpanUtils}
     * with              : 设置控件
     * setFlag           : 设置标识
     * setForegroundColor: 设置前景色
     * setBackgroundColor: 设置背景色
     * setLineHeight     : 设置行高
     * setQuoteColor     : 设置引用线的颜色
     * setLeadingMargin  : 设置缩进
     * setBullet         : 设置列表标记
     * setFontSize       : 设置字体尺寸
     * setFontProportion : 设置字体比例
     * setFontXProportion: 设置字体横向比例
     * setStrikethrough  : 设置删除线
     * setUnderline      : 设置下划线
     * setSuperscript    : 设置上标
     * setSubscript      : 设置下标
     * setBold           : 设置粗体
     * setItalic         : 设置斜体
     * setBoldItalic     : 设置粗斜体
     * setFontFamily     : 设置字体系列
     * setTypeface       : 设置字体
     * setAlign          : 设置对齐
     * setClickSpan      : 设置点击事件
     * setUrl            : 设置超链接
     * setBlur           : 设置模糊
     * setShader         : 设置着色器
     * setShadow         : 设置阴影
     * setSpans          : 设置样式
     * append            : 追加样式字符串
     * appendLine        : 追加一行样式字符串
     * appendImage       : 追加图片
     * appendSpace       : 追加空白
     * create            : 创建样式字符串
     * {@link  SPStaticUtils}
     * setDefaultSPUtils: 设置默认 SP 实例
     * put              : SP 中写入数据
     * getString        : SP 中读取 String
     * getInt           : SP 中读取 int
     * getLong          : SP 中读取 long
     * getFloat         : SP 中读取 float
     * getBoolean       : SP 中读取 boolean
     * getAll           : SP 中获取所有键值对
     * contains         : SP 中是否存在该 key
     * remove           : SP 中移除该 key
     * clear            : SP 中清除所有数据
     * {@link  SPUtils}
     * getInstance        : 获取 SP 实例
     * Instance.put       : SP 中写入数据
     * Instance.getString : SP 中读取 String
     * Instance.getInt    : SP 中读取 int
     * Instance.getLong   : SP 中读取 long
     * Instance.getFloat  : SP 中读取 float
     * Instance.getBoolean: SP 中读取 boolean
     * Instance.getAll    : SP 中获取所有键值对
     * Instance.contains  : SP 中是否存在该 key
     * Instance.remove    : SP 中移除该 key
     * Instance.clear     : SP 中清除所有数据
     * {@link  StringUtils}
     * isEmpty         : 判断字符串是否为 null 或长度为 0
     * isTrimEmpty     : 判断字符串是否为 null 或全为空格
     * isSpace         : 判断字符串是否为 null 或全为空白字符
     * equals          : 判断两字符串是否相等
     * equalsIgnoreCase: 判断两字符串忽略大小写是否相等
     * null2Length0    : null 转为长度为 0 的字符串
     * length          : 返回字符串长度
     * upperFirstLetter: 首字母大写
     * lowerFirstLetter: 首字母小写
     * reverse         : 反转字符串
     * toDBC           : 转化为半角字符
     * toSBC           : 转化为全角字符
     * {@link  ThreadUtils}
     * isMainThread            : 判断当前是否主线程
     * getFixedPool            : 获取固定线程池
     * getSinglePool           : 获取单线程池
     * getCachedPool           : 获取缓冲线程池
     * getIoPool               : 获取 IO 线程池
     * getCpuPool              : 获取 CPU 线程池
     * executeByFixed          : 在固定线程池执行任务
     * executeByFixedWithDelay : 在固定线程池延时执行任务
     * executeByFixedAtFixRate : 在固定线程池按固定频率执行任务
     * executeBySingle         : 在单线程池执行任务
     * executeBySingleWithDelay: 在单线程池延时执行任务
     * executeBySingleAtFixRate: 在单线程池按固定频率执行任务
     * executeByCached         : 在缓冲线程池执行任务
     * executeByCachedWithDelay: 在缓冲线程池延时执行任务
     * executeByCachedAtFixRate: 在缓冲线程池按固定频率执行任务
     * executeByIo             : 在 IO 线程池执行任务
     * executeByIoWithDelay    : 在 IO 线程池延时执行任务
     * executeByIoAtFixRate    : 在 IO 线程池按固定频率执行任务
     * executeByCpu            : 在 CPU 线程池执行任务
     * executeByCpuWithDelay   : 在 CPU 线程池延时执行任务
     * executeByCpuAtFixRate   : 在 CPU 线程池按固定频率执行任务
     * executeByCustom         : 在自定义线程池执行任务
     * executeByCustomWithDelay: 在自定义线程池延时执行任务
     * executeByCustomAtFixRate: 在自定义线程池按固定频率执行任务
     * cancel                  : 取消任务的执行
     * setDeliver              : 设置任务结束后交付的线程
     * {@link TimeUtils}
     * millis2String           : 将时间戳转为时间字符串
     * string2Millis           : 将时间字符串转为时间戳
     * string2Date             : 将时间字符串转为 Date 类型
     * date2String             : 将 Date 类型转为时间字符串
     * date2Millis             : 将 Date 类型转为时间戳
     * millis2Date             : 将时间戳转为 Date 类型
     * getTimeSpan             : 获取两个时间差（单位：unit）
     * getFitTimeSpan          : 获取合适型两个时间差
     * getNowMills             : 获取当前毫秒时间戳
     * getNowString            : 获取当前时间字符串
     * getNowDate              : 获取当前 Date
     * getTimeSpanByNow        : 获取与当前时间的差（单位：unit）
     * getFitTimeSpanByNow     : 获取合适型与当前时间的差
     * getFriendlyTimeSpanByNow: 获取友好型与当前时间的差
     * getMillis               : 获取与给定时间等于时间差的时间戳
     * getString               : 获取与给定时间等于时间差的时间字符串
     * getDate                 : 获取与给定时间等于时间差的 Date
     * getMillisByNow          : 获取与当前时间等于时间差的时间戳
     * getStringByNow          : 获取与当前时间等于时间差的时间字符串
     * getDateByNow            : 获取与当前时间等于时间差的 Date
     * isToday                 : 判断是否今天
     * isLeapYear              : 判断是否闰年
     * getChineseWeek          : 获取中式星期
     * getUSWeek               : 获取美式式星期
     * isAm                    : 判断是否上午
     * isPm                    : 判断是否下午
     * getValueByCalendarField : 根据日历字段获取值
     * getChineseZodiac        : 获取生肖
     * getZodiac               : 获取星座
     * {@link ToastUtils}
     * setGravity     : 设置吐司位置
     * setBgColor     : 设置背景颜色
     * setBgResource  : 设置背景资源
     * setMsgColor    : 设置消息颜色
     * setMsgTextSize : 设置消息字体大小
     * showShort      : 显示短时吐司
     * showLong       : 显示长时吐司
     * showCustomShort: 显示短时自定义吐司
     * showCustomLong : 显示长时自定义吐司
     * cancel         : 取消吐司显示
     * {@link  UriUtils}
     * file2Uri: file 转 uri
     * uri2File: uri 转 file
     * {@link  VibrateUtils}
     * vibrate: 震动
     * cancel : 取消
     * {@link ViewUtils}
     * setViewEnabled      : 设置视图是否可用
     * runOnUiThread       : 在 UI 线程运行
     * runOnUiThreadDelayed: 在 UI 线程延迟运行
     * isLayoutRtl         : 布局是否从右到左
     * fixScrollViewTopping: 修复 ScrollView 置顶问题
     * {@link  ZipUtils}
     * zipFiles          : 批量压缩文件
     * zipFile           : 压缩文件
     * unzipFile         : 解压文件
     * unzipFileByKeyword: 解压带有关键字的文件
     * getFilesPath      : 获取压缩文件中的文件路径链表
     * getComments       : 获取压缩文件中的注释链表
     */
    void utilcode();


    /**
     * 需要单独下载文件使用
     * <p>
     * 应用商店相关 -> AppStoreUtils.java -> Demo
     * getAppStoreIntent: 获取跳转应用商店意图
     * <p>
     * 剪贴板相关 -> ClipboardUtils.java -> Test
     * copyText  : 复制文本到剪贴板
     * getText   : 获取剪贴板的文本
     * copyUri   : 复制 uri 到剪贴板
     * getUri    : 获取剪贴板的 uri
     * copyIntent: 复制意图到剪贴板
     * getIntent : 获取剪贴板的意图
     * <p>
     * 坐标转换相关 -> CoordinateUtils.java -> Test
     * bd09ToGcj02 : BD09 坐标转 GCJ02 坐标
     * gcj02ToBd09 : GCJ02 坐标转 BD09 坐标
     * gcj02ToWGS84: GCJ02 坐标转 WGS84 坐标
     * wgs84ToGcj02: WGS84 坐标转 GCJ02 坐标
     * bd09ToWGS84 : BD09 坐标转 WGS84 坐标
     * wgs84ToBd09 : WGS84 坐标转 BD09 坐标
     * <p>
     * 国家相关 -> CountryUtils.java -> Demo
     * getCountryCodeBySim     : 根据 Sim 卡获取国家码
     * getCountryCodeByLanguage: 根据系统语言获取国家码
     * getCountryBySim         : 根据 Sim 卡获取国家
     * getCountryByLanguage    : 根据系统语言获取国家
     * <p>
     * 危险相关 -> DangerousUtils.java -> Demo
     * installAppSilent    : 静默安装 App
     * uninstallAppSilent  : 静默卸载 App
     * shutdown            : 关机
     * reboot              : 重启
     * reboot2Recovery     : 重启到 recovery
     * reboot2Bootloader   : 重启到 bootloader
     * setMobileDataEnabled: 打开或关闭移动数据
     * sendSmsSilent       : 发送短信
     * <p>
     * 定位相关 -> LocationUtils.java -> Demo
     * isGpsEnabled     : 判断 Gps 是否可用
     * isLocationEnabled: 判断定位是否可用
     * openGpsSettings  : 打开 Gps 设置界面
     * register         : 注册
     * unregister       : 注销
     * getAddress       : 根据经纬度获取地理位置
     * getCountryName   : 根据经纬度获取所在国家
     * getLocality      : 根据经纬度获取所在地
     * getStreet        : 根据经纬度获取所在街道
     * isBetterLocation : 是否更好的位置
     * isSameProvider   : 是否相同的提供者
     * <p>
     * 拼音相关 -> PinyinUtils.java -> Demo
     * ccs2Pinyin           : 汉字转拼音
     * ccs2Pinyin           : 汉字转拼音
     * getPinyinFirstLetter : 获取第一个汉字首字母
     * getPinyinFirstLetters: 获取所有汉字的首字母
     * getSurnamePinyin     : 根据名字获取姓氏的拼音
     * getSurnameFirstLetter: 根据名字获取姓氏的首字母
     */
    void subutil();

}
